import {get, post, put, del, upload, download } from "./request.js";

// 用户相关API
export const userApi = {
    // 获取用户列表
    getUserList: (params) => get("/user/list", params),

    // 获取用户详情
    getUserDetail: (id) => get(`/user/${id}`),

    // 创建用户
    createUser: (data) => post("/user", data),

    // 更新用户
    updateUser: (id, data) => put(`/user/${id}`, data),

    // 删除用户
    deleteUser: (id) => del(`/user/${id}`),

    // 用户登录
    login: (data) => post("/user/login", data),

    // 用户登出
    logout: () => post("/user/logout"),
};

// 文件相关API
export const fileApi = {
    // 上传文件
    uploadFile: (file) => upload("/file/upload", file),

    // 下载文件
    downloadFile: (fileId, filename) =>
        download(`/file/download/${fileId}`, {}, filename),

    // 获取文件列表
    getFileList: (params) => get("/file/list", params),
};

// 数据相关API
export const dataApi = {
    // 获取统计数据
    getStatistics: () => get("/data/statistics"),

    // 获取图表数据
    getChartData: (params) => get("/data/chart", params),

    // 导出数据
    exportData: (params, filename) => download("/data/export", params, filename),
};

// 使用示例：
/*
// 在Vue组件中使用
import { userApi, fileApi, dataApi } from "@/utils/api.js";

export default {
  async mounted() {
    try {
      // 获取用户列表
      const userList = await userApi.getUserList({ page: 1, size: 10 });
      console.log(userList);
      
      // 用户登录
      const loginResult = await userApi.login({
        username: "admin",
        password: "123456"
      });
      
      // 上传文件
      const fileInput = document.querySelector('input[type="file"]');
      const file = fileInput.files[0];
      if (file) {
        const uploadResult = await fileApi.uploadFile(file);
        console.log(uploadResult);
      }
      
      // 下载文件
      await fileApi.downloadFile("fileId", "filename.pdf");
      
    } catch (error) {
      console.error("API调用失败:", error);
    }
  }
};
*/